{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 关于新型冠状病毒和传染病模型\n",
    "参考资料：[关于传染病的数学模型有哪些？ - 张戎的回答 - 知乎](https://www.zhihu.com/question/367466399/answer/985150406)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.size'] = 15.0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最近新型冠状病毒的传染牵动着你我的心。人们研究传染病已经研究了很久了，也提出了很多不同的数学模型。既然闲赋在家，不如找几个模型练练你（还有我）的数学建模和编程能力。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SI模型 (Susceptible-Infectious)\n",
    "在这个模型下，只有两种人，一种人容易易感染病毒，叫做易感者Susceptible $S(t)$，另一种人已经感染了病毒，叫做感染者Infectious $I(t)$。$I(t)$会向$S(t)$传染病毒。这两种人的数量变化满足以下微分方程。\n",
    "\n",
    "$$\\frac{dS}{dt} = -\\frac{c \\beta I}{N}S,\\\\ \\frac{dI}{dt} = \\frac{c \\beta I}{N} S.$$\n",
    "其中：\n",
    "\n",
    "传染率 $\\beta$: 表示感染者接触到易感者之后，易感者得病的概率；\n",
    "\n",
    "接触率 $c$: 表示在每天感染者接触到的易感者人数。感染者每天去菜市场乱走的话，$c$就会很大。如果隔离措施做得好，$c$就很小。\n",
    "\n",
    "总人数 $N$: 该封闭地区的总人数，$N = N(t) = I(t) + S(t)$.\n",
    "\n",
    "这是一个一阶线性微分方程组。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**（1）利用$S = N - I$，将该方程组化简为一个关于$I(t)$的微分方程。**\n",
    "\n",
    "甭管你算没算对，化简完应该是\n",
    "$$\\frac{dI}{dt} = c\\beta (I - I^2/N)$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(2) 下面我演示了如何利用scipy中的odeint函数解该微分方程。请研究代码（不懂的去查），并描述接触率和传染率的变化如何影响疫情发展**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.integrate import odeint\n",
    "def SImodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    \"\"\"\n",
    "    c, beta, N = params\n",
    "    I = point\n",
    "    return c * beta * (I - I**2 / N)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaMAAAENCAYAAACigwpqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeXxU1fn48c+Tyb4ySMIWVhGCgICCqEXAKiouXxWl2pZaWzWt/Vq1+rNqqxatbdGvxbrU4lq11hVxFxUUBJUiUFQQwp6wBEhCJvs+c35/3JkwhIRMYGbuTPK8X695TXLvmXOfDEOenHPPIsYYlFJKKTvF2B2AUkoppclIKaWU7TQZKaWUsp0mI6WUUrbTZKSUUsp2moyUUkrZLtbuAKJRjx49zMCBA+0OQymlosrq1atLjDGZrZ3TZHQEBg4cyKpVq+wOQymlooqIFLR1TrvplFJK2U6TkVJKKduFPRmJyBAReUJEvhURt4gsaaWMiMjvRGSniNSKyFIRGdNKueNF5BMRqRGRQhG5V0QcoapLKaVUaNjRMhoBnAdsBDa1UeZ24C7gfuBCoApYJCK9fAVExAksAgxwEXAvcAtwTwjrUkopFQJ2JKN3jTH9jDEzgO9anhSRRKwE8hdjzGPGmEXADKxEcb1f0V8CScB0Y8xCY8xcrORxs4ikB7supZRSoRP2ZGSM8bRT5DQgHXjN7zXVwLvANL9y04CPjDEVfsdewUoqk0NQl1JKqRCJxKHdOYAb2Nzi+Abg8hblPvUvYIzZISI13nPvBrkuFSS+bUsMun3JYbW3vYtu/6JsEuMIfuqIxGTkBKqMMe4Wx11AsojEG2MavOXKWnm9y3su2HV1SbVNtazet5qNpRvZVr6N/XX7Kasro6KhggZ3A42exuZnt8fdnGCanzXxKNWp/Dx1KL+59I2g1xuJySjiFRcXM27cuObvc3Nzyc3NtTGi4Nvk2sTTa5/m0x2fUu+uByArKYvM5EyciU4GpA8gwZFAvCOeuJg44hxxOMSBIM11iFhf+46JyIGvfeWEo9NYB6XboHwnVOyBqn3Q8m8PcUBcEsQmgSMeYmLBEWs9xzgOPCMgEthze+Rof7DmioJUj1LBMbbfpJDUG4nJyAWkioijRYvGCdR4WzK+chmtvN7pPRfsupplZmZ22hUYjDHM/WYuT3z7BImxiVwy5BLO6H8GI3uMJD0+QsZyuJtg0wJY9U/Y/hl4miA+DfqMgZyz4Jgh4BwA3QZAak+ITwliclBKhUIkJqM8wAEMwRr+7ZPjPedfLsf/hSLSD0j2KxfMujo9Ywz3LL+HNza/wYWDL+S2k28jI6G1HG0TY2D92/DJPVZrKD0bTvs1DJ0G2eO8rRulVDSKxBUYvgQqsIZgAyAiyVhzhBb4lVsAnCMiaX7HLgdqgc9CUFen98L6F3hj8xtcO+pa/jTxT5GViCr3wb9nwOs/BUcC/OBfcOM3cNYs6D9BE5FSUS7sLSNvMjjP+21fIF1ELvN+/4ExpkZEZgN3iYgLq2VyM1bifNSvqrnADcB8EbkfGAzMAub4hmgbY+qCVVdnV1BRwN/++zfO6n8Wvx776+b7PRGh8Gt46QdQVw7THoDx12jyUaqTsaObLgt4vcUx3/eDgHxgNlbCuAM4BlgFTDXG7PO9wBjjEpEzgcewhl6XAQ9hJRF/wayr03pw1YMkOBL4/Sm/j6xElP85vHQ5JDnh2sXQ83i7I1JKhYAYnavQYePGjTOdaQDDtrJtXPT2Rfxq9K+4bsx1dodzwN518M9pkNYbrnwb0nvbHZFS6iiIyGpjzLjWzkXiPSMVZi9ueJEERwKX51zefuFwqSm1WkTxqfCT+ZqIlOrkInE0nQqjRncjH+Z/yNQBU+me2N3ucCzGwDu/tuYMXf0xZGTbHZFSKsS0ZdTFLd+znMqGSqYNmtZ+4XBZ9wbkvQdn3g19T7Q7GqVUGGgy6uIWFSwiLS6NU3ufancolvpK+PhO6D0aTv1fu6NRSoWJdtN1YcYY/rPnP5zS5xTiHHF2h2P5/G9QuceaR6TDt5XqMrRl1IXtqtzFnuo9TOg1we5QLDWlsOIJGHEJ9BtvdzRKqTDSZNSFrdi7AoCTe59scyReK+ZCQyVMutXuSJRSYabJqAtbU7SGYxKPYWD6QLtDgYYaKxnlXAA9R9gdjVIqzDQZdWHr969nRI8RkbHiwndvWsv9nBJBk26VUmGjyaiLqmmsYVv5No4/JkKW11n9T+gxFAZ8z+5IlFI20GTURW10bcRjPBzfPQKS0d51sGslnPQz3XdIqS5Kk1EXtX7/eoDIaBmtm2ftxnpCBC1HpJQKK01GXdS2sm2kx6eTlZxlbyDGwLr5MHgKpBxjbyxKKdtoMuqitldsZ3DGYPsHLxSugbICGDnd3jiUUrbSZNRFbSvbxqCMQXaHYY2ii4mDnPPtjkQpZSNNRl1QeX05++v2R0Yy2vQRDJxobZ6nlOqyNBl1QfkV+QD2J6OyHVCyEY6bam8cSinbaTLqgvLL84EISEabF1rPQzQZKdXVaTLqgnZX7UYQ+qT0sTeQLZ9ARn/ocZy9cSilbKfJqAsqrCokMznT3m0j3I2w/TM47iyd6KqU0mTUFRVWF9I3ta/NQXwNDVUwaLK9cSilIoImoy6osKqQ3im97Q1ix3LruX+E7DCrlLKVJqMupsnTxL7qffa3jHYsh+6DIa2nvXEopSKCJqMuprimmCbTRO9UG1tGHo+VjPqfZl8MSqmIosmoiymsLgSgb4qNLaOSjVDrggHaRaeUsmgy6mIKq6xkZGvLqOBL61nvFymlvDQZdTF7qvcA2DuAYddKSMmy7hkppRQRnIxE5AoR+a+IVInIbhF5QUT6tCgjIvI7EdkpIrUislRExrRS1/Ei8omI1IhIoYjcKyKOI6kr2hXXFJMWn0ZibKJ9QRR+DX3G6vwipVSziExGIvI/wMvAl8BFwG3AJOB9EfGP+XbgLuB+4EKgClgkIr386nICiwDjrete4BbgnhaXbbeuzqCktoTMpEz7Aqivsu4Z9RlrXwxKqYgTa3cAbfgR8F9jzPW+AyJSAbwNDAM2iEgiVgL5izHmMW+Z5UA+cD1wp/elvwSSgOnGmApgoYikA7NE5AFjTEUH6op6xbXF9iajvWvBeKBPp2t0KqWOQkS2jIA4oLzFsTLvs69v5zQgHXjNV8AYUw28C0zze9004CNvIvJ5BStB+ab/B1pX1CupLaFHcg/7AtjztfXcW5ORUuqASE1GzwKni8iVIpIuIkOB+4BPjTHrvWVyADewucVrN3jP4Vcuz7+AMWYHUONXLtC6opoxhuIam1tGhWsgrTek27wChFIqokRkMjLGvA9cBTyJ1ULaCDiAS/2KOYEqY4y7xctdQLKIxPuVK+NQLu+5jtQFQHFxMePGjWt+PPnkkx36+exS0VBBg6eBHkk2towK12irSCl1iIi8ZyQiZwBzgYeBBUBPYBbwpoic1UrSCKvMzExWrVplZwhHpKS2BMC+llF9JZRshpGXtl9WKdWldCgZiYgA2UA/4BvvfZVQ+CvwjjHmNr9rf43V3XYRMB+r1ZIqIo4WyckJ1BhjGrzfu4CMVq7h9J7zlQmkrqhWXFsMQGayTcmoKA8w0GuUPddXSkWsgLvpRORXwG6gAFiGNaoNEZkvIjcFOa4c4Gv/A8aYjUAtcKz3UB5W192QVl7rf48ojxb3fUSkH5DsVy7QuqJacY2VjGzrpiv6znrOOt6e6yulIlZAyUhEbgXmAE8B3+fAiDaAJcDlQY6rADixRQzDsUbA5XsPfQlUADP8yiRjzRFa4PfSBcA5IpLmd+xyrMT2WQfrimq2d9MVbYC4FOg2wJ7rK6UiVqDddP8L3G2MeaDlygVYgwuGBjcs5gIPiUghB+4Z3Y2ViD4AMMbUichs4C4RcWG1YG7GSrCPtqjrBmC+iNwPDMa6/zTHN9y7A3VFtf21+0lwJJASl2JPAEXrISsHYiJy3IxSykaBJqNewOo2znmAYK8t8wjQAFyHNWm1DPgcuKPFfarZWAnjDuAYYBUw1Rizz1fAGOMSkTOBx7DmDZUBD2ElJDpSV7Rz1btwJjoRu5bh2bcehp1rz7WVUhEt0GS0BWuC6CetnJsErG/l+BEzxhjgH95He+X+5H0crtx6rO7Fo64rmrnqXDgTnO0XDIWqYqgp0ftFSqlWBZqM/gY8LiINwDzvsSwRuRqrO+vaUASngqusvgxnok3JSAcvKKUOI6BkZIx52rvg6N0cWGD0A6xVDGYZY14KUXwqiErrSumf3t+eixdtsJ41GSmlWhHwPCNjzP+JyFzgVKAHUAosN8a0XENORaiy+jL7uun2fQfJx0Bqlj3XV0pFtA5NejXGVAIfhygWFUIN7gaqG6vt66YrzoPM4bqHkVKqVW0mIxE5ryMVGWM+OPpwVKi46qzFJroldAv/xY2xlgEacUn4r62UigqHaxm9h7UhXSB/yhqsFQxUhCqrt9aK7Z7YPfwXrymFujLocVz4r62UigqHS0aDwhaFCrnSulLAppbRfu/OHMe0XG1JKaUsbSYjY0xBOANRoWVry6hEk5FS6vA6umr32cDJQG9gD7DCGLMwFIGp4GpuGSXa0TLaAjFxuiadUqpNASUjEekDvAmMB4q8jyzgXhFZBVxijNkdsijVUSurL0MQMuJb200jxPZvge6DwRGR22cppSJAoCtWPonVGppojOlljDnBGNMLOB1r3bonQhWgCg5XnYuMhAwcMTaMM9m/RbvolFKHFWgy+j7wW2PMl/4HjTFfALcDZwQ7MBVcrjqXPYMXPG4o3QY9NBkppdoWaDLah7X/T2tqgZLghKNCxbZ16coKwN0Ax+iwbqVU2wJNRn/Guj/U1/+giGRjbcXQaVe67iwqGypJj08P/4X3b7WetZtOqaiXX1KNx2NCUnegyehsrD1+tonIchF5W0SWA1u9x88Skde8j1dDEqk6KhUNFfYkI9+wbp3wqlRUK6qo45LHv+CP7wd1x6BmgQ5v6gFs9j4A0oE6rO26AWzax1oFqqKhgrT4tPYLBlvpVkjMsBZJVUpFJWMMt877lpoGNz+eEJqV/wPdQkIHKEQxj/FQ1VBFeoINLSNXPjgHRvwCqRUVFRQVFdHY2Gh3KAqIi4sjKyuL9HQbPrPqEC8sL+CzTcXce9EIhmSF5o/aI5r4ISJxxhj9XxslqhqrMBjS4mxoGbkKIGt4+K/bARUVFezbt4++ffuSlJRk37bsCrD+Cq+trWX3bmvqoiYke23eV8mfP9jAlGGZ/OSU0E1cD/SeESJymogsEJFKoE5EKkXkAxE5NWTRqaCoqK8ACH83nTFQvhOckb3yQlFREX379iU5OVkTUQQQEZKTk+nbty9FRUV2h9OlNbo9/Oa1r0lJiOWBy04I6f+PQFdgmAq8D2wE/g9rqHdP4DJgiYicb4xZFLIo1VGpbKgECH83XdU+aKqL+GWAGhsbSUpKsjsM1UJSUpJ2m9rs74u3sG53BXNnnkhWWmJIrxVoN92fgHeAGcYY/3F994rIG1hDvzUZRaiKBqtlFPbRdC7vWrsRnowAbRFFIP03sde63eU89ukWLhrTh3NH9g759QLtphsFPNUiEfk86T2vIlRzyyjcyahsh/Uc4d10SqmD1Te5+X+vf4MzJZ57/mdEWK4ZaDIqA45t49yx3vMqQvlaRmG/Z1SWbz1n9AvvdVVQrFq1iquuuophw4YRExPDVVdd1Wq5+vp6brnlFrKyskhJSeH8888nPz8/rLGq4Hrkk83k7a1k9vRRdEuOD8s1A01GrwN/EZGZIpIIICKJIjITq4vutVAFqI6ebS0jVwGkZEF8cnivq4Liiy++4PPPP2f8+PH06tWrzXI33HADzz33HA8++CDz5s2jpKSEqVOnUldXF8ZoVbB8s7OMfyzZymUnZXPm8J5hu26g94xuw1pp4XngeRGpAlK95172nlcRqry+nBiJITkuzEmhbId20UWxX//619x4440AjBs3rtUyu3bt4plnnuHZZ5/lyiuvBOCEE05g0KBBvPjii1xzzTVhi1cdvbpGN7e8/g090xO5+8Ljw3rtgFpGxphaY8yPgZHAz7AGNFwFjDDGzDTG6J9AEayyoZK0+DRiJOCR/MFRVhAVgxc6k6VLl3LGGWeQmppKRkYGU6ZMYc2aNUdUV0xM+5+Xjz/+GIDp06c3H+vbty8TJ05kwYIFR3RdZZ85CzexpaiK+y89gfTEuLBeu0O/nYwxG4wxLxhjHjDG/MsYkxeqwEQkVkRuF5HNIlIvIrtE5KEWZUREficiO0WkVkSWisiYVuo6XkQ+EZEaESkUkXtFxHEkdUWjysbK8E949bihfBd0C83SIepQS5Ys4cwzzyQuLo7nn3+eV199ldNPP7158mhTU1O7j9bHKLUtLy+P7OxsUlNTDzo+fPhw8vJC9utBhcCaHS6eWraNH03oz6Sh4V/hLeAVGEQkC7gFGAdkA9ONMd+JyI3AV8aY5UGO7TmsfZTuAfKAfkDLduPtwF3Ard4yNwOLRGSkMWavN24n1rDz9cBFWAMu/oqViO/sSF3RqqK+IvxzjCp2g6cparvp7nn3O9YXVthy7eP7pPOHCzs+gumOO+5g9OjRfPTRR83Dos8991wA8vPzGTRoULt1LF68mClTpgR8TZfLRbduh+6T5XQ6cblcAdej7NXo9nDH/LX0TEvkjmk5tsQQ6KTXk4GFQDHwGTAFSPCe7o2VpC4LVlAici5wOTDaGNPqErHegRS3A38xxjzmPbYcyAeu50Ci+SWQhJU8K4CFIpIOzBKRB4wxFR2oKyr5uunCyjesW7vpwqK6upoVK1bw8MMPtzo/p0+fPqxcubLdeoYNGxaK8FSEe/bz7eTtreSJn5xEWpi753wCbRk9BCwGpmO1KH7md+4r4EdBjuvnwKdtJSKv07BWD28eyWeMqRaRd4FpHEgg04CPvInI5xXgfmAy8G4H6opKFQ0VHJvc1sj8EGme8Bqd3XRH0jKxk8vlwhhD796tT06Mj49nzJj2e50djo5tS+90OikvL281HqfThs0cVYftLK3hoUWbmHp8T84Z0faoyVAL9J7RicDjxhgP0LJTeT+QFdSoYAKwSUQeE5EK772e+SLSx69MDuDmwLYWPhu85/zLHdR5bYzZAdT4lQu0rqhky8Z6ZQWA6ByjMHE6ncTExLBnz55Wz+fn5xMXF9fu47PPPuvQdXNycti5cyfV1dUHHc/LyyMnJ+r/63R6xhjufGsdDpGwTW5tS6Ato3La3rNoMNZadcHUC2u03jfAFUAa8ADwpoic4l0JwglUGWPcLV7rApJFJN4Y0+At19qkXJf3HB2oKyrZsrFe2Q5I7wux4Zkw19WlpKQwYcIEXnjhBa6//vpDuupC1U139tlnA/Dmm28yc+ZMAAoLC1m2bBmPP/54h+pS4ff+2j18tqmYuy84nj7d7F2fMdBk9A5wj/c+irf/BSMiPYD/B8wPclzifVxkjNkPICJ7sO5XfR/4JMjX65Di4uKD5l3k5uaSm5trY0Rtq3fXU++uD/89I1dB1HbRRavZs2dz1llnMW3aNHJzc0lJSWH58uWMGzeOCy64oM25Qm0pLi5ubim5XC4KCgqYN28eAJddZt0izs7O5uqrr+amm27CGENmZiazZs1iwIABzclJRaby2kbueXc9o/pm8NPTBtodTocmvX6CNSJttffYXGAIsB24O8hxuYBtvkTk9TnQgDWi7hNvmVQRcbRo0TiBGr+WjAvIaOUaTu85X5lA6gIgMzOTVatWHeGPFl72rUtXAIMmhfeaXdykSZNYuHAhd911FzNnziQ+Pp6xY8dy8cUXH1F93333HTNmzGj+ftu2bSxZsgTgoCHgjzzyCCkpKdx8883U1NQwefJkXn75ZRITQ7vKszo6D3yYx/6qev551XgcMfYvShvoTq8uETkF+AlwJlANlAJPAy8YY+qDHNcGoLVPsgAe79d5gAMrIW70K9PyHlEeLe77iEg/INmvXKB1RR1b1qVraoCKQh1JZ4PJkyezdOnSoNQ1ZcqUgOYdJSQkMGfOHObMmROU66rQW13g4t8rdnD1xEGM7Nva3+rhF/CkV2NMgzHmGWPMj4wxZxtjrjDGPBWCRATwHjDK2w3oMwmIw7qPBPAlUAE0/+kmIsnAhYD/1O8FwDki4v/b+HKgFqvbryN1RR3fxnphnWdUvhMw2k2nVARqdHv43fy19MlI5OapQ+0Op9lhk5GInCci74rIWhFZKCLXSXg2GXkSa5TeuyJyoYj8CPgXsMgY8zmAdwmi2cDvROR/ReRMrAVdY4BH/eqaC9QD80XkLBHJBWYBc3zDvTtQV9TxddOFtWVU5r2tGKUTXpXqzJ5ato2N+yq596KRpCQEvO5ByLUZiYjMAF4FNgFfAwOBx4BBwG9DGZR3Iur3gUew5gQ1AG8Dv2lRdDZWwrgDayHXVcBUY8w+v7pc3uTyGNacojKseVOzOlpXNLJlYz2d8KpURNqxv4aHF23m3BG9OOv48K3IHYjDpcXfYq3IPdO3qZ6I/BZrd9ffGWOaQhmYMWYLcF47ZQzWoq1/aqfceqxReEddV7SxpWXkKoCYWEjv035ZpVRYGGP4/VtriXPEMMvmOUWtOVw33TDgny12d30KiMdqHakoYE/LqAAysiGmY7P5lVKh8843hSzbXMKt5wyjV0bkjXQ8XDJKxbqp78/3fZgnragjVdlQSaIjkXhHGCefunTrCKUiSXlNI398bz2jszOYeUpk/t9s7+7VaS1GtMVgLQf0PRE5aBEjY8wHwQ5OHb2Khgp7Fkkddm54r6mUatPsDzfgqmnk+Z+fHBFzilrTXjJqa+LAwy2+N1jzdFSECfu6dA01UF2kw7qVihAr80t5+aud5E4azIg+kTGnqDWHS0Z6X6gTqKgPc8uoeSTdwPBdUynVqoYma05R325J3HTWcXaHc1ht3jMyxhR05BHOoFXgKhrCvLGeLxnpHKOoN2vWLETkkMeHH354ULn6+npuueUWsrKySElJ4fzzzyc/P9+eoNVBnly6lc1FVfzx4hEkx0fOnKLWRHZ06qhVNlQyuNvg8F2wLLr3MVIHy8jIOCT5DB8+/KDvb7jhBubNm8dDDz3UvFDq1KlTWbt2ra5PZ6P8kmoe+XQL54/qzfdzImtOUWs0GXVyYd8+wpUPsYmQGvkfftW+2NhYTjnllDbP79q1i2eeeYZnn32WK6+8EoATTjiBQYMG8eKLL3LNNdeEK1TlxzenKMERw90XHm93OAEJeG06FX08xkNVY1X47xl16w9hWTVKtbR06VLOOOMMUlNTycjIYMqUKaxZsyZk1/v4448BmD59evOxvn37MnHiRBYsiOplHaPaW1/v5ost+/ntucPomR4drVNNRp1YdWM1HuMJ/4RX7aKzxZIlSzjzzDOJi4vj+eef59VXX+X0009n9+7dADQ1NbX7aLlKd1lZGT169CAuLo6xY8cyf/7BW5fl5eWRnZ1NamrqQceHDx9OXl5UL3gftVzVDfzxvQ2M6deNH0+Innu32k3Xidmyl5GrAPp2bBM3FRx33HEHo0eP5qOPPmre6fXcc635Xvn5+Qwa1P4A2cWLFzNlyhQAhgwZwgMPPMDYsWOprKzkiSee4NJLL+WNN95obgm5XC66det2SD1OpxOXy3XIcRV6f1mwgfLaRv4yfRQxETqnqDWHWyi1QzujGWOCs4mKCpqwLwVUVw51ZZ1jJN2C22HvWnuu3WsUTJvdoZdUV1ezYsUKHn744UO2HIcj23a85U6tF154Iaeddhr33nvvQd1yKnL8Z9t+Xlu1i19MHszw3mHeUPMoHa5ltARrMqvvk+3ffpcW34NOeo04YV8ktXmOkXbThZvL5cIYQ+/evVs9Hx8fz5gxY9qtx+Fo+7+xiDB9+nRuu+023G43DocDp9NJeXl5q/E4nc7AfwB11Oqb3Pz+zbVkO5O46czI2acoUIdLRqP8vu4NPAt8CMwHioAs4FLgHODnoQpQHbmwb6zn8g3r7gQtow62TOzmdDqJiYlhz549rZ4/km661vjmGvnk5OSwc+dOqqurSUlJaT6el5dHTk5Oa1WoEJm7ZBtbi6v558/GkxQffW2DNpORMeY739ci8mes7cXvbFHsQxG5D7gJWBSaENWRCvuW482b6g0Mz/VUs5SUFCZMmMALL7zA9ddff0hX3ZF007VkjOGNN95g9OjRzS2os88+G4A333yzuVuvsLCQZcuW8fjjjx/pj6M6aFtxFX9fvIULTujNGcOy7A7niAQ6gMG3OV1rPsNKRirChP2eUdkOiE+FJO2escPs2bM566yzmDZtGrm5uaSkpLB8+XLGjRvHBRdcwLhxHRtYMnnyZC699FJycnKorq7mqaeeYsWKFbz11lvNZbKzs7n66qu56aabMMY0T3odMGDAIfecVGgYY/j9m+tIiIueOUWtCTQZlQIXAQtbOXeJ97yKMJUNlQhCSlxK+4WDwbd1hM4xssWkSZNYuHAhd911FzNnziQ+Pp6xY8dy8cUXH1F9Q4YM4W9/+xt79uwhJiaGE088kffff59p06YdVO6RRx4hJSWFm2++mZqaGiZPnszLL7+sqy+EyRv/3c3ybfv50yUjyUqL3vc80GQ0G3hMRAYC73DgntFFwDTg+lAEp46Ob/uIGAnTdLKyAu2is9nkyZNZujQ4A1ufeeaZgMolJCQwZ84c5sxpa5F/FSql1Q386f31nDTAyQ/HR/fAoYCSkTHmcRHZDfwO+DvWyDk3sAaYbox563CvV/aobKgM3/0iY6xuukGTw3M9pRR//mADlXVN/PmS6JpT1JqAJ70aY94G3hYRB9ADKDHGuEMWmTpqYV2XrqYUGqp0WLdSYfLl1hLmrd7Fr6Ycy7Be0b/5dof6b8QaotMHOBaI3s7JLiKsG+uV5VvPnWHCq1IRrq7RzZ1vrqN/92RuODOy9ykKVMDJSER+BewGCoBlwDDv8fkioqPpIlBFfRj3Mmqe8KrJSKlQ+8eSrWwrqea+i0eSGBd9c4paE1AyEpFbsbYgfwr4PgdWZQBrpYbLgx6ZOmphvWfk0n2MlAqHLcF8yKQAACAASURBVEVV/GPJVi4a04dJQzPtDidoAr1n9L/A3caYB7z3jPxtBKJv7YkuoKKhgrS4ME54TXJCYnSth6VUNPF4DL+bv5akeAd3nh+9c4paE2g3XS9gdRvnPOj9o4jT4G6gzl0X3qWAtItOqZB6bdVOvsov5ffnDSczLcHucIIq0GS0BWhrzO4kYH1wwlHBEv6lgHZoF51SIVRUWcefP9jAKYO7M2Nctt3hBF2g3XR/Ax4XkQZgnvdYlohcDdwMXBuK4NSRC+tSQB6PlYyGnRv6aynVRd377nrqmjz8+ZJRrW4TEu0CahkZY54Gfg/cBvgWUP0AeBiYZYx5KTThgYj0FZEqETEikup3XETkdyKyU0RqRWSpiByyRr6IHC8in4hIjYgUisi9Le97BVpXNGlesTscyahqH7jrtZtOqRD5NG8f7327h1+fMYTBmantvyAKBTy02xjzf1hzjKYBM4HzgL7e46H0f0BVK8dvB+4C7gcu9JZZJCK9fAVExIm1mrjBWrroXuAW4J6O1hVtmltG4bhn5Mq3np3tb1GgoseqVau46qqrGDZsGDExMVx11VWtlquvr+eWW24hKyuLlJQUzj//fPLz8w8p98UXXzBhwgQSExMZNGgQjzzySGh/gE6iur6Ju976juOyUvnF5GPtDidkAh3afaWIHGOMqTTGfGyMeckY86ExplxEuovIlaEIzrvb7LnAgy2OJ2IlkL8YYx4zxiwCZmAlHf918n4JJGEtWbTQGDMXKxHdLCLpHawrqoR1y/HmrSO0ZdSZfPHFF3z++eeMHz+eXr3a/rvshhtu4LnnnuPBBx9k3rx5lJSUMHXqVOrq6prLbNmyhXPOOYdBgwbxwQcf8Itf/IKbb76Zp59+Ohw/SlSbs3ATu8tqmX3pKOJjw7TOpB2MMe0+sNahO7mNcycB7kDq6cgDa/27b7C2p7gKKzmkes993/t9TovXPAus9vt+KfBKizL9va+9sCN1+T9OOukkE+le2vCSGfncSFNSUxL6iy3+izF/yDCmoTb01wqB9evX2x1CRHK73c1fn3TSSeanP/3pIWV27txpHA6Hef7555uP7dq1y8TFxZmnnnqq+Vhubq457rjjTGNjY/Ox6667zmRnZxuPx9NmDF393+abnS4z6Pb3zO/f/NbuUIICWGXa+J0faJo93N2yY4CKAOvpiF8CCVgLs7aUg5UgN7c4vsF7zr9cnn8BY8wOoMavXKB1RZWw7vLqKoC03hCnI/zttnTpUs444wxSU1PJyMhgypQprFmz5ojqiolp/9fDxx9/DMD06dObj/Xt25eJEyeyYMGC5mMLFixg+vTpxMYeGDN1xRVXsGvXLtatW3dE8XV2TW4Pt7+xlh6pCfz23Kj9VRSwNkfTichFWPdZfO4SkeIWxRKB04H2t5DsABE5BvgjMNMY09jKyBEnUGUOXajVBSSLSLwxpsFbrqyVS7i85zpSV7Pi4uKDNirLzc0lNzc38B8wDCoaKkiKTSIuJi70F3Pl69YREWDJkiVMnTqVM844g+eff56UlBS++OILdu/ezdixY2lqamq3DofD0aGRWnl5eWRnZ5OaevBN9eHDh7NkyRIAqqur2blz5yHbkA8fPry5jlGjRgV8za7i2S+2s35PBXNnnkh6Yhj+H9vscEO7swD/T8ixWJNf/TUAHwP3BTmuPwH/McZ8EOR6gyIzM5NVq1bZHcZh+fYyCouyAhg0KTzXCpP7v7qfvNK89guGQE73HG47+bYOv+6OO+5g9OjRfPTRR80J5dxzreH2+fn5DBrU/gCTxYsXM2XKlICv6XK56Nat2yHHnU4nLpcLgLIy6+/BluWcTmdzHepg+SXVzFm4ibOG9+ScEVE7jqpD2kxGxpinsNaiQ0QWA78yxmwIdUAiMgL4OTBJRHyf3mTvc4aIuLFaLaki4mjRonECNX4tGReQ0cplnN5zvjKB1BVVKurDtH1EUz1UFOqwbptVV1ezYsUKHn744VZbNn369GHlyvY7MIYNGxaK8FQHeDyG377xLXGOGO67eGSnnFPUmkA31zsj1IH4OQ6IA5a3cm4X8AzwEtYAhyFYa+P5tLxHlEeL+z4i0g8rueX5lQmkrqgStr2MynYCptN10x1Jy8ROLpcLYwy9e/du9Xx8fDxjxrQ/dc7h6NgK0E6nk/Ly8lbj8bV8fC2iluV8LSJfOWV5cUUBX20v5YFLT6BXRte5Dxvo0O5nReSVNs69LCJPBTGmz4EzWjzu9547D2ve0ZdYgyZm+MWRjDVHaIFfXQuAc0TEv7/qcqAW+Mz7faB1RZWKhjBtH6H7GEUEp9NJTEwMe/bsafV8fn4+cXFx7T4+++yzVl/flpycHHbu3El1dfVBx/Py8prvEaWkpNCvXz/y8vIOKeOrQ1l2ltYwe0Eek4Zmdsolfw4n0OWApmIt+9OaN7C2lwgKY0wJ1rYUzURkoPfLZcaYKu+x2ViDKlxYLZibsZLro34vnQvcAMwXkfuBwcAsYI4xpsJ7vboA64oqFQ0V5MSH4T9584TXgaG/lmpTSkoKEyZM4IUXXuD6668/pGsnVN10Z599NgBvvvkmM2fOBKCwsJBly5bx+OOPN5ebNm0ab775Jvfdd19z6+vVV1+lX79+jBw5skPX7KyMMdw+/1sE+Mv0zrnkz+EEmowygdI2zrmwBjuE22yshHEH1vDyVcBUY8w+XwFjjEtEzgQeA97FGln3EFZC6lBd0SZs94xcBeBIgNSucZM1ks2ePZuzzjqLadOmkZubS0pKCsuXL2fcuHFccMEFB40ADURxcXFzS8nlclFQUMC8edbSlJdddhkA2dnZXH311dx0000YY8jMzGTWrFkMGDCgOTkB3Hrrrfz73//mJz/5Cddeey0rV67kiSee4B//+EeX+6XblldW7uSLLfu57+KR9O2WZHc44dfWBCRz8ATQjcA9bZy7B9gSSD2d5RHpk14b3A1m5HMjzeNfPx76i70y05hHIvv9aE9nmli5ZMkSc/rpp5ukpCSTkZFhpkyZYtasWXNEdS1evNhgTQg/5OGvrq7O/OY3vzE9evQwycnJZtq0aWbbtm2H1Lds2TIzfvx4k5CQYAYMGGAefvjhdmPoTP82h7PbVWNG3P2hueKJ5cbtbnsScLTjMJNeA20ZPQf8QUSKgOeNMVXeRUuvBH7LoWu9KRtVNVhL+YVtKSC9XxQxJk+ezNKlS4NS15QpU3x/cB5WQkICc+bMYc6cw/fWT5w4ka+++ioosXUmxhjumL8Wt8dw/6UnEBPTNVuKgSaj+7HmGT0KPCIi1UAK1soMT3JggIGKAGHdPsKVD3071v2jlDrg9dW7+GxTMbMuPJ7+xyS3/4JOKtCh3R7gGhF5EGt0W3dgP/CpMWZTCONTR8C3FFBGQmtTrIKo1gV15Tp4QakjtLO0hnvfXc+EQd258tSBdodjq0BbRgAYY/KI4rk3XUXYdnl16WrdSh0pt8dwy+vfAPDXH4zust1zPgGvRy4iWSJyv3ejuo3elRIQkRtF5NTQhag6KmzddK7t1rPuY6RUhz3z+Ta+2l7KHy48nmxn1+2e8wl00uvJWKtaXwrkY61WkOA93RtrwzoVIcK2y+v+rdZz98GhvY5SnUze3goe/GgT54zoyWUnda3JrW0JtGX0ELAYGAr8goO3lPgKODnIcamjELZdXku3WfOLEqJ/G+RARo2p8Oqs/yb1TW5+8+o3pCfF8edLut7k1rYEmoxOBB73DmRo+QnZjz2TXlUbKhoqSHAkkOBIaL/w0di/FY6J/m2Q4+LiqK2ttTsM1UJtbS1xcZ1v64S/LdrMhj0V3H/pKI5JDfH/0SgSaDIqx1qFoTWDgahdqaAzCtsiqaVbO0UXXVZWFrt376ampqbT/jUeTYwx1NTUsHv3brKyOtffuV9tL2XuZ1u5Ynw/zhze0+5wIkqgo+neAe4RkeWAdwgVRkR6AP8PmB+K4NSRKasro1vioXvMBFVdBVQXd4qWUXq6lbgLCwtpbGy0ORoFVmu1Z8+ezf82nYGruoEbX1nDgO7J3HnB8XaHE3ECTUa3AZ8A64HV3mNzsQYybAfuDn5o6kiV1ZfhTAjxsvylvsEL0Z+MwEpInekXn4osxlh7FJVU1TP/uu+RmtChWTVdQkDddMYYF3AK8L9YLaNFWEnoduB7xpjKkEWoOsxV7wr9hFffSLpO0DJSKtReWF7AwvX7uH3acEZlh/j/ZpRqMz2LyLPAH40x20VkEvBfY8wzWJvbqQhWVheOltE261nnGCl1WN8VlvOn9zdwZk4WP//eQLvDiViHaxn9lAODFhYD2skZBTzGQ3lDeejvGe3fCul9IV4n6ynVlur6Jn790hqcKXH834zROoz7MA7XcbkHmCIi67HmFSV6d0BtlTGmJtjBqY6rbKjEYzzhuWfUCUbSKRUqxhjuensd2/dX89I1p9A9Jd7ukCLa4VpGT2JtOleONbdoMVB5mIeKAK46FxCGRVI7yRwjpULllZU7mf/f3fz6+8dx6rHH2B1OxGuzZWSMuVdE3geGAy8A9wFbwxWYOjJl9WUAOBND2DKqKYXa0k4zkk6pYPtmZxl/ePs7Jg3N5MYzj7M7nKhw2PGFxpjVwGrv1t3/NMZsD09Y6kg1J6NQdtOVeHcNyRwWumsoFaVKqxu47sXVZKYl8PDlY3B08dW4AxXofkY/C3UgKjjC0k1X7N1FRJORUgdxeww3vrKGkuoG5v3yVJx6nyhgAc+8EpFxwHQgG0hsed4Y84MgxqWOUFi66Yo3QmwSZPQP3TWUikIPLdzEss0lzJ4+ihOyQzyitZMJKBmJyHXA34ESrK0kGkIZlDpyrnoXcTFxJMeGcMh1cR5kDoWYgLfDUqrTW7B2D48t3sLl4/pxxcn6h1pHBdoy+n/As8AvjTFNIYxHHaXy+nKcCc7Qzmco3ggDJ4aufqWizLrd5dz82jeM7d+Ney4aYXc4USnQP22zgJc1EUU+V52LjMQQ3i+qq4CK3Xq/SCmvooo6rnl+Fc7kOJ78yTgS4xx2hxSVAk1GC4AJoQxEBUfIF0ltHkk3PHTXUCpK1DW6ufZfq6moa+Tpn44nM033JzpSgXbT/R14UkTigIVAWcsCxpj1wQxMHRlXnYuhzqGhu4COpFMKsFZYuHXet3y7q4y5M0/i+D666vvRCDQZLfY+/4FDt4sQrBUatG0aAUpqS/he3++F7gLFeeBIAOfA0F1DqSjw14838e43hfz23GGcM6KX3eFEvUC76c7we3y/xcN3LGhEZIaIvCMiu0WkSkRWi8gPWyl3rYhsFpE6b5kzWynTV0TeFJFKESkRkcdaW2MvkLoiXV1THVWNVRyTGMKlR4o3Qo+hEKN/e6iu61//KeCxxVv44cn9uG6yrkQSDIFOev0s1IG0cDPWfkm/wRpOfh7wkoj0MMY8CuBNTnOBWcDnwM+A90RkvDFmnbdMHPAR1lD0K4BuwBzv80zfxQKpKxrsr9sPQI+kHqG7yN51OpJOdWkfrtvL3W+v46zhWfzxopG6EneQROp2gxcaY0r8vv9URPpgJalHvcdmAc8bY/4IICKfAWOxNvzzJZrLsNbWG+JbykhEGoFXROQeY8zmDtQV8UpqrbfsmKQQtYyqS6CyEHqfEJr6lYpwK/NLueGVNYzp141Hf3gisQ6daxcsh9tcrxjrXlBAjDFZQYnIqquklcNrgEsBRGQwMBS40e81HhF53f8YMA1Y2WJNvbewWkrnAps7UFfE8yWjkLWM9n5rPffSZKS6nry9FVzz/CqyuyXxzE/HkxSvXdXBdLiW0d/pQDIKg1MB77hicrzPeS3KbAC6i0imMabYW+6gUX7GmAYR2epXR6B1Rbz9tSHuptvjS0ajQlO/UhFqS1EVM59eQVKcg+d/frLuTRQCh9tCYlYY4zgs72CCi4Gfew/5JtK0HGLu8jtf7H0+ZBi6t5zTr2wgdUW8ktoSBAndunR710JGP0juHpr6lYpABfur+fHT/wGEf187gX7ddXfjUIjUe0bNRGQg8BLwtjHmOVuD8SouLmbcuHHN3+fm5pKbm2tjRJaS2hKciU7iYuJCc4G932oXnepSdrlq+NFTK2ho8vBK7qkcm5lqd0idVkQnIxHpjrX6QwHwY79TvlZLBge3aJwtzru8ZVpyAt90sK5mmZmZrFq1KoCfILxKaktCN3ihoRpKNsOI6aGpX6kIU1hWy4+fXkFFXSMvX3sKw3ql2R1SpxaxQ0G8c4HeA+KBC4wxNX6nffd3clq8LAco9bvHk9eyjIjEA4P96gi0roi3v24/PRJDdL9o33rA6Eg61SXs2F/DjLnLKa1q4Pmfn8zIviFc71EBEZqMRCQWeB04DjjXGFPkf94Ysw1rMMMMv9fEeL9f4Fd0ATBeRAb4HfsfIAH4sIN1RbySmhC2jHavtp57jwlN/UpFiC1FVcx44kuqG5p46dpTOLF/CNd6VM0itZvucayJrjcCx4iI/2/YNcaYeqy5QS+KSD7wBfBTrOT1I7+y84DfA/NF5C6srriHgJf85hgRYF0Rze1xU1RbRM/knqG5wK6VkN4XMvqGpn6lIsD6wgp+8swKRIRXck8hp5euNxcukZqMzvY+P9zKuUFAvjHmZRFJBW4D7gK+w+rOa14xwRjTKCLnAo8BrwH1wCvArf4VBlJXpNtft58mTxO9U3qH5gK7VkL2uPbLKRWlVmzbz7UvrCIlIZZ/XzOBwTpYIawiMhkZYwYGWO4p4Kl2yuzCGhZ+1HVFsr3VewHolRKCBRuriqCsAE62f8SgUqHw3reF3PzqN/TrnsRzPztZh2/bICKTkeq4PdV7gBAlo10rrefs8cGvWykbGWN4etl2/vTBBsYPdPLUlePolqwTWu2gyaiTCGnLaNdKiImD3qODX7dSNml0e7jvvfU8v7yA80b1Ys4PxugurTbSZNRJ7K3eS1JsEunxIbjhWrDcSkRxicGvWykblFY38L///i/Lt+3nmomD+N15w4mJ0dW37aTJqJPYW72X3im9g7+cfX0V7F4Fp90Q3HqVssn6wgpy/7WKosp6HpwxmstOyrY7JIUmo05jT/We0HTR7fgPeJpg0OnBr1upMHv7693c/sZaMpLieO0XpzKmXze7Q1Jemow6AWMMOyp3cF6P84Jf+fbPrPtF/U4Jft1KhUltg5t73v2OV1buZNwAJ4/PPJGsNO12jiSajDqB8vpyKhsq6ZfWL/iVb18K/U6GeB3qqqLTpn2VXP/Sf9lcVMWvphzLb6YOJU43xYs4mow6gR2VOwAYkD6gnZIdVL3fWql78m3BrVepMPB4DP/+agd/en89qQmxvPDzkzn9uEy7w1Jt0GTUCRRUFADQP61/cCve/DEYDxx3dvtllYogO0truO2Nb/ly635OP64Hf/3BaO2Wi3CajDqBnZU7EYS+aUFeN27jB5DWWxdHVVHDGMO/V+zgLx9sAODPl4zihyf3C/4oUxV0mow6gYKKAnqn9CbBkRC8SpvqYeunMGoGxGj/uop8G/dWctfb6/hqeykTh/Rg9qWjyHbqvc5oocmoE9hevj3494u2L4OGKhgWghF6SgVRZV0jDy/azD+/zCctMZbZ00dx+XhtDUUbTUZRrsnTxJayLfx4+I/bL9wR6+ZBQjoMmhTcepUKEo/H8NbXu5m9II/iqnquGN+P356TgzNF15aLRpqMolxBRQGNnkaGOocGr9KGalj/DoycrksAqYhjjOGzTcXc/+FGNuypYFTfDJ74yUmM1U3wopomoyi3ybUJILjJKO99aKyG0VcEr06lguDrnWU88GEeX27dT7/uSTx8xRguPKGPrivXCWgyinKbXJuIlVgGZwwOXqVfvwQZ/aD/acGrU6mj8NX2Uh79dDPLNpfQPSWeP1x4PD+a0J+EWF1lu7PQZBTl1pWs49huxxLniAtOhcWbYNtiOOP3OopO2coYw9LNJfx98Ra+2l5Kj9R4bp+Ww8xTBpCaoL+6Ohv9F41iTZ4mvi3+lguPvTB4la6YC44EOOlnwatTqQ6orm9i/n938fzyArYUVdE7I5FZFx7P5eP7kxSvLaHOSpNRFNvs2kxNUw1js8YGp8KqYvjmZWtuUaoum6LCa0tRJS+t2Mnrq3dSWdfECdkZzPnBaM4/obd2x3UBmoyi2JqiNQDBS0afPwRNdTDxpuDUp1Q7ymsaeffbQuat3sXXO8uIjRHOP6E3Pz1tIGP7ddO5Ql2IJqMotnzPcvqk9KF3Su+jr6x8F6x8Gkb/EHocd/T1KdWG2gY3SzYW8d7aPSxcv4+GJg85vdK48/zhXDSmL5lpQVxJREUNTUZRqq6pjv8U/oeLh1wcnL8eF9wGEqMrdKuQqKpv4tO8Ihas3cOSjcXUNrrpnhLPj07uz2UnZTOiT7q2gro4TUZR6qu9X1HnrmNKvylHX1ne+5D3Hpz5B3AGeVkh1SUZY9i0r4rPNhWxdFMJX20vpcHtITMtgctOymbaqF6cPLA7sbqvkPLSZBSl3tv2HmnxaYzvNf7oKirfBW9fDz1HwWm/Dk5wqkva5aphVb6LL7eWsHRTCXsr6gAY2jOVK08dwDkje3FifycOnaCqWqHJKAqV1ZWxqGARlw29jHjHUazD1VADr/0U3I0w4zkI1lwl1ek1uT1sKa5iZb6LVfmlrNxeSmG5lXzSE2M5/bhMJg3twaShmfTOSLI5WhUNNBlFodc2vUajp5FLj7v0yCtpqofXfgKF/4UfvAA9hgQvQNWpNLk9bC6qYu3ucr7bXc7a3eWs31NBXaMHgKy0BMYP6s4vBnZn/MDuDOuVpq0f1WGajKJMeX05z333HFOypzCs+7Ajq6SmFF6dCQVfwP88CsODOGlWRa2GJg8F+6vZUlTFZu9jS1EVW4uraGiyEk9KvIMRfTL40ckDGJWdzkn9u9Ove5IOPlBHTZORl4gcDzwKnAqUAU8D9xhj3LYG1sIDKx+gprGG68def2QV5H8Ob/0KKvfA9KfhhBnBDVBFtIq6Rnbsr2GXq4YdpTXsLK21nl017NhfQ5PHNJfNdiZxXFYqE4ccw4g+GYzsm8HgHim6KKkKCU1GgIg4gUXAeuAi4Fjgr0AMcKeNoR3k5byXeWfrO/zihF90vFW0fyss+QusfR26D4arPoB+Rzn4QUWMRreHkqp69lXUs6+ijqKKuuav91XWU1RRx57yOsprGw96XUZSHP26JzGsZxrnjujFcT1TOS4rjcGZKSTH668HFT76abP8EkgCphtjKoCFIpIOzBKRB7zHbNPobuQf3/yDp9Y+xZR+U/jl6F8G9sLaMtj6ibUK99ZPITYRJv4GJt0K8SmhDVp1mNtjqG5oorq+iaq6Jiq9zxV1jbiqG3DVNOKqaWj+uqymgdKaBsqqG6msbzqkPkeMkJWWQFZ6Iv27JzN+oNWl1s+ZTL/u1iMjSQetqMigycgyDfioRdJ5BbgfmAy8a0dQe6v3sqhgES/nvcyOyh1cPORi7jzlTmJjWvyzeTxQWwplBbBvPRSth51fWYMTjAfSs+H0W2D8tZDW044fJSq5PYZGt4cmj6GxyUOjx0OT2zrW6DY0NHmoa3JT1+imvtFDXaPb+733a79jzecb3dQ2uqmqb6Kq3k1VXaP1dV0T1Q3t9winJsTiTInDmRyPMzmeQT1ScKZYX2emJdAzPYGstER6pifSPSVeBxKoqKHJyJIDfOp/wBizQ0RqvOeCkoy+3fwfPl87H7dpan40eZpoogm3cVPjqaPc1FLmqWGXp5wyrKGygyWDO2LGMH5zEXs2XEtsUzWx7hriGqtIrC8hsa4Ihznwl3FTTCKu9GHsHXwte3qcQnG3MRhxYL6rAwrAGHx3Boxp/nkPPeY9fvD7Ar6SB5fzfX3wOV/dB157oB6PMRhjcBuDx1jbSHu8X7s9rZ9ze6z6PMbg9tbR8pzvNcYY3L46PVbZRo+hye2xkozbHJJgmtweGr1JqMWPfsQSYmNIjHOQGGc9J8U5SEmIpVtSHNnOJFLjY0lNjCU1IZa0xFhSEqyvfcfSE+NwpsTRLSme+FidJKo6J01GFifWoIWWXN5zBykuLmbcuHHN3+fm5pKbm9vuRb5c9xb/qFzQ5vl4j6GH280xbjcTm5oYUd/AabW1DG7cQb3ZQDWJ1JBItbGeq0wiRQymyJzEPuNkjzmGjSabHaYnnpoY2OureUO7sdlFBGJEcIggYnUtxbT42nr4fR/DQcdjRHDECCKCw3tORHB4z8XEWK+JlRiSHTHExQhxjhhiHd7nGCEu1joe6z0e74ghNsbva4d1zv+1CbExJMQ5SIw9kGiak06sg6R4B/GOGL3hr1QANBkdgczMTFatWtXh1/3PxOsYsfNUHDEJxDniiI1JINaRQGxsvPV1TALicCAxsSAOa604h4MCcSAxcfhGzyZ7H5kCg70Hfb/uREC83/nKi18B/3MHXnOgDmlRDmlRj7e8//V85VuO7m0rFt/1YgQdEqyUAjQZ+biAjFaOO73ngqJP5gD6ZOrab0op1ZJ2QFvysO4NNRORflgNkDxbIlJKqS5Ek5FlAXCOiKT5HbscqAU+syckpZTqOjQZWeYC9cB8ETlLRHKBWcAcu+cYKaVUV6D3jABjjEtEzgQewxrGXQY8hJWQlFJKhZi2jLyMMeuNMd83xiQZY3obY+4Kxbp0Tz75ZLCr7PT0PesYfb86Rt+vjgnV+6XJKMz0g99x+p51jL5fHaPvV8doMlJKKdVpScvlXlT7RKQYKDjCl/cASoIYTleg71nH6PvVMfp+dczRvF8DjDGZrZ3QZKSUUsp22k2nlFLKdpqMlFJK2U6TUZiIyPEi8omI1IhIoYjcKyIOu+Oym4hcJSKmlccv/cqIiPxORHaKSK2ILBWRMXbGHS4iMkREnhCRb0XELSJLWikT0PvTFT6DAb5f+a183va2Uq4rvF8zROQdEdktR4U6wAAACYRJREFUIlUislpEfthKuWtFZLOI1HnLnNlKmb4i8qaIVIpIiYg8JiLJgcaik17DIFq2NbfZ97GWX/LZ5vf17cBdwK1YawXeDCwSkZHGmEN+iXQyI4DzgP8AbW3L2u7704U+g4G8XwAvAY/6fd/gf7ILvV83A9uB32ANSjgPeElEehhjHgXwJqe5WIsAfA78DHhPRMYbY9Z5y8QBH2G9j1cA3YA53ueZAUVivBuc6SN0D+AOrNW/0/2O/Rao8T/WFR/AVVh77qW2cT4RKAfu9juWAhQD99kdfxjenxi/r+cBS47k/ekqn8H23i/v8XzgwXbq6SrvV49Wjr0EbPf7fiPwrP97DKwFXvQ79kPADQzyO/YDwAMcF0gs2k0XHm1ta56Eta25attpQDrwmu+AMaYaa9mmaXYFFS7GGE87RQJ9f7rEZzCA9ytQXeX9am2I9hqgD4CIDAaGcvDnywO8zqGfr5XGmO1+x97CaimdG0gsmozCI4cWW1EYY3Zg/ZWV0+orup6tItIkIhtF5Bd+x3Ow/uLa3KL8BvS9g8DfH/0MHuxqEWkQkXIRmSciLTca68rv16nAJu/Xvp+15VY6G4DuIpLpV67l+9UAbCXA90vvGYVHh7Y172L2YN3v+ApwYPU3zxWRZGPMQ1jvT5U5dJ1AF5AsIvHeD31XFej7o5/BA97Guqe0CxgO/AFYJiKjjDHl3jJd8v3yDky4GPi595DvZ235Xrj8zhcThPdLk5GylTHmI6wbnz4LRCQRuFNEHrYpLNWJGWNu9Pt2mYh8CXyNdWP+b/ZEZT8RGYh1v+htY8xz4b6+dtOFR1i2Ne9E5gHdgYFY709qK0NqnUBNF28VQeDvj34G22CsEWEbgRP9Dnep90tEumNtMloA/NjvlO9nbfleOFucP+r3S5NReOi25h1j/J7zsLrvhrQoc0gfdRcV6Pujn8HDMxz43EEXer+8c4HeA+KBC4wxNX6nfT9ry/s+OUCpMabYr1zL9yseGEyA75cmo/DQbc075jKsOQ8FwJdABTDDd9L7n+dCrPe1qwv0/dHPYBtE/n975x9yd1XH8dc7tU1dIpFzuYynkYI6g9FmGjELDbINxS1MaMOF+ItoGsnSipqkkkNxBZKNdJtD1EQrxypZE6Vc07kQUslaVuTU9sxRuhw69dMfn+/Vs8N9fjh8nu9t9/2Cw3PP+Z7P95x77ve5n3vO+ZzPR9PJL9ItRXFfjJekA0nLuGOAz0XE9vJ6RDxDGjOUz9d7mnz9fM2qDEHOBCYAvx5VZ9q2c++HRE5VnwfWA6cDFwK76INzMqMYm3uAb5CmoXOBNeQv1K8Wda4krZi+ApwGrCOV1ZFt938cxucQUjl/Afg98GSRP2S049Mvz+BI4wXMAe4gl6I+A1wCbCMPWZdnivplvFY0/2+LgZOrNKGp0zlD9O1mzFaRSnl6cZ+DgCdIhf75RuYFirNII/al7cHolwQcDzzQfIjPA98DDmi7X20n4Fpyvf6VZmy2AAurOgK+RVo/7QZ+C8xou+/jND4DvL2EVKeBdzI+/fAMjjRewMeADaQF2J7mC3MVcFSfjtffR3q+mnoXAFuBV4E/AKd1udeHyLNFu4AXgZtofjCNJjmEhDHGmNbxnpExxpjWsTIyxhjTOlZGxhhjWsfKyBhjTOtYGRljjGkdKyNjjDGtY2VkzDAMERK9Tp8uwqdP6oE+3yfpuyPUmdv0d2B8evVWu1Ob8NbTxrNd0/vYa7cxw3NK8fpg8hDk1aSXgw5PkSf9TyEP77aGpE+QIdwXtdmPoYiIbZLuAr5Dj/bRtIOVkTHDEBGbOq+LWc9fy/KCwS5l481iMgTAzrY7MgwrgQ2Svh4RL7bdGdMbeJnOmHeBeplO0kCTP1fSSkkvSXpW0oLm+hJJz0kalHRd43yyvN90SeskvdykuyVNGaEP7wPOJkNwlOWStFTS9uZet5Ghymv570v6Y7OM9qyk28s2JS2T9IwkdXnvr3Wifko6X9JTknZL2iHpIUknFCIPAzvJQIrGAFZGxow115F+zeaTPuNWS7oBOImMprkcWAKc0xGQ9FHyC3sisIBczjoBWFsrgopPkkuJG6vyxeSy2ArSYehuYFkX+cmkr8A5wGWk+/8HCkV5K/AR4NRK7svA2ogYlDQbuJl0eHtG8x43UsS6ifRBtol0QGpM0rajPien/5cETCIdSC7qcm1Rc21Skx9o8iuLOoeRzjn/QuFwkwy5fleRX0M6j31vUXYM6Tl5zjD9+yYwWJUdADwH/KgqX0/lDLOL3NSmzuyi/HfA6iI/DXiTjIMDcDmwZRRjuRTY1vZn6tQ7yTMjY8aWDZ0XEfESua/0UES8UdTZSn7xdzgd+BnwpqQDm5gzfyM9LM8cpq0pZOiIkqOBDwK/qMrvrYUlnSFpo6T/AK+TXsABji2q3QLML/bPFgH/4u2YNY8DMyTdKGl2E2CtGzuAySPM9EwfYWVkzNjy7yr/2hBlE4v8B8gYT3uqNI1ULkMxkXTxX9LZ89lele+VlzQLuI9UQAtJy8CTi/t2+Ck5EzqnUSTnAbdFxOsAEfEbctluNvAgsEPSTZIOrdp/lTSgshGVAfwgGNOL7CRnRj/pcq2e+dRyh1dlLzR/J1fldf5sctb2xYjIIEl7R+0EICL+K+lOckb0D+DDpHVcWWc1uTd2BDAPuBF4GbiiqHY4sCsi9gzzfkwfYWVkTO+xgTRY2NJRDKPkaeAoSRMiojND+iepkM5i7/DP8yrZg4E9VXtfGqKdW0gDhKXApoj4U7dKETEI/FjSPDJQXckAGc7aGMDKyJheZClp1LBO0q3kbGgq8FlgVUQ8OITcw2T45xOBxwAi4g1Jy4DrJe0gLfrmA8dVsuuByyQtB9aSlnkLujUSEY9IehL4FHBReU3SVcD7aZbogBmk9d0V1W1mNv01BvCekTE9R0T8mdyveYU0x/4VcBW5z7J1BLknSJPqkuWkyfbFwD2kVeCSSvaX5D7VfHLv6FRg7jDd/DlpIn5nVb6ZnAXdDNwPXEIq1x90KjTLdx9v+mIMgMOOG7M/IelrwPkRMX2M23kUeDoiFu6D7EWkCfix73AZ0uzHeGZkzP7FCuAISWNyoFTSTElLgFnAD/dBXsClwDVWRKbEe0bG7Ec01m7nAbUp9bvFZtI0/cqI2LwP8lOA28mDvca8hZfpjDHGtI6X6YwxxrSOlZExxpjWsTIyxhjTOlZGxhhjWsfKyBhjTOtYGRljjGmd/wGwVMYABbtiygAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams['font.size'] = 15.0\n",
    "\n",
    "t = np.arange(0, 200, 0.1)    # 200天\n",
    "N = 10000 # 一共一万人\n",
    "beta = 0.005 # 传染率还是很低的\n",
    "for c in [10, 50, 100]:   # 如果接触率分别为200人/天，500人/天，1000人/天，疫情会有什么不同\n",
    "    P = odeint(SImodel, 1.0, t,      # 最开始只有一个人感染，所以是1.0\n",
    "               args=([c, beta, N],)) # 三个数分别为c, beta, N\n",
    "    plt.plot(t, P, label='c={}'.format(c))\n",
    "\n",
    "plt.legend()\n",
    "plt.xlabel('Time (days)')\n",
    "plt.ylabel('Infected People')\n",
    "plt.tick_params(direction='in')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 10500.0)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 200, 0.1)    # 200天\n",
    "N = 10000 # 一共一万人\n",
    "c = 30    # 每天接触30个人\n",
    "for beta in [0.001, 0.005, 0.015]:   # 如果接触率分别为200人/天，500人/天，1000人/天，疫情会有什么不同\n",
    "    P = odeint(SImodel, 1.0, t,      # 最开始只有一个人感染，所以是1.0\n",
    "               args=([c, beta, N],)) # 三个数分别为c, beta, N\n",
    "    plt.plot(t, P, label='beta={}'.format(beta))\n",
    "\n",
    "plt.legend()\n",
    "plt.xlabel('Time (days)')\n",
    "plt.ylabel('Infected People')\n",
    "plt.tick_params(direction='in')\n",
    "plt.ylim(0, 1.05e4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SIS模型 (Susceptible-Infectious-Susceptible)\n",
    "在这个模型下，还是只有两种人，但是感染者可以被治好，治好之后变回易感者（感冒就是这个亚子）。这两种人的数量变化满足以下微分方程。\n",
    "\n",
    "$$\\frac{dS}{dt} = -\\frac{c \\beta I}{N}S + \\gamma I,\\\\ \\frac{dI}{dt} = \\frac{c \\beta I}{N} S - \\gamma I.$$\n",
    "\n",
    "其中：\n",
    "\n",
    "传染率 $\\beta$: 表示感染者接触到易感者之后，易感者得病的概率；\n",
    "\n",
    "接触率 $c$: 表示在每天感染者接触到的易感者人数。感染者每天去菜市场乱走的话，$c$就会很大。如果隔离措施做得好，$c$就很小。\n",
    "\n",
    "治愈率 $\\gamma$: 表示感染者被治愈的概率；\n",
    "\n",
    "总人数 $N$: 该封闭地区的总人数，$N = N(t) = I(t) + S(t)$.\n",
    "\n",
    "这是一个一阶线性微分方程组。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**（3）利用$S = N - I$，将该方程组化简为一个关于$I(t)$的微分方程。**\n",
    "\n",
    "甭管你算没算对，化简完应该是\n",
    "$$\\frac{dI}{dt} = c\\beta (I - I^2/N) - \\gamma I$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(4) 如果你认真学习了之前的例子，就可以自己独立完成SIS这个例子。请补全下面的函数，并研究治愈率$\\gamma$如何影响疫情传播。治愈率最大可以是多少？？（别告诉我是一万哈😂）**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "def SISmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    \"\"\"\n",
    "    c, gamma, beta, N = params\n",
    "    I = point\n",
    "    return (c * beta - gamma) * I - c * beta * I**2 / N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 模仿之前的例子，画出不同治愈率gamma时的感染曲线，并讨论治愈率的重要性。\n",
    "t = np.arange(0, 20, 0.1)\n",
    "for gamma in [0.05, 0.1, 0.5, 0.99]:\n",
    "    P = odeint(SISmodel, 1., t, args=([200, gamma, 0.005, 10000],))  #\n",
    "    plt.plot(t, P, label='gamma={}'.format(gamma))\n",
    "plt.legend()\n",
    "plt.xlabel('Time (day)')\n",
    "plt.ylabel('Infected People')\n",
    "plt.tick_params(direction='in')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## SIR模型 (Susceptible-Infectious-Recovered)\n",
    "在这个模型下，有三种人。感染者可以被治好，治好之后就都变成了有抗体的健康人 $R(t)$（不再是易感人群）。例子比如水痘啊之类的（你得过水痘吗？）。这三种人的数量变化满足以下微分方程。\n",
    "\n",
    "$$\\frac{dS}{dt} = -\\frac{c \\beta I}{N}S,\\\\ \\frac{dI}{dt} = \\frac{c \\beta I}{N} S - \\gamma I,\\\\ \\frac{dR}{dt} = \\gamma I.$$\n",
    "\n",
    "其中：\n",
    "\n",
    "传染率 $\\beta$: 表示感染者接触到易感者之后，易感者得病的概率；\n",
    "\n",
    "接触率 $c$: 表示在每天感染者接触到的易感者人数。感染者每天去菜市场乱走的话，$c$就会很大。如果隔离措施做得好，$c$就很小。\n",
    "\n",
    "治愈率 $\\gamma$: 表示感染者被治愈的概率；\n",
    "\n",
    "总人数 $N$: 该封闭地区的总人数，$N = N(t) = I(t) + S(t) + R(t)$.\n",
    "\n",
    "这是一个一阶线性微分方程组。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(5) 这里就没法写成一个单独的微分方程了。我已经给你补全了下面的函数，请把它搞明白。**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "def SIRmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    这里自变量有两个，所以return的是一个拥有两个元素的array。\n",
    "    \"\"\"\n",
    "    c, gamma, beta, N = params\n",
    "    I, S = point\n",
    "    if I + S <= N:  # 请解释这一句在干什么？\n",
    "        return np.array([c * beta * S * I / N - gamma * I, - c * beta * S * I / N]) \n",
    "    else:\n",
    "        return None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(6) 微博上的“[于晓华_经济](https://weibo.com/u/1684992301)”就是在这种模型下模拟了2019nCoV的疫情。他根据SARS时期的数据断言 $\\gamma = 0.0821$, $c = 100$ 人/天, $\\beta = 0.002865$. 武汉有一千万人，最开始在华南海鲜市场里有10个人感染新型冠状病毒，而且最开始没有人具有抗体。这里假设第一例病毒感染是从12月20日开始的。请研究这种情况下疫情如何发展，什么时候感染的人最多？什么时候疫情开始缓和？你的结果和他微博上的结果一样吗？**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime.date(2020, 1, 19)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import datetime\n",
    "datetime.timedelta(days=30) + datetime.date(2019, 12, 20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020-01-19\n",
      "34 days, 0:00:00\n"
     ]
    }
   ],
   "source": [
    "# 提示：这里有方便算时间天数间隔的函数\n",
    "import pandas as pd\n",
    "import datetime\n",
    "print(datetime.date(2019, 12, 20) + datetime.timedelta(days=30))\n",
    "print(datetime.date(2020, 1, 23) - datetime.date(2019, 12, 20))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 150, 0.1)\n",
    "N = 1e7 + 10\n",
    "P = odeint(SIRmodel, (10, 1e7), t, args=([100, 0.0821, 0.002865, N],))\n",
    "plt.plot(t, P[:, 0], label='Infectious')\n",
    "plt.plot(t, P[:, 1], label='Susceptible')\n",
    "plt.plot(t, (N - P[:, 1] - P[:, 0]), label='Recovered')\n",
    "plt.legend()\n",
    "plt.xlabel('Time (day)')\n",
    "plt.ylabel('Number of People')\n",
    "plt.tick_params(direction='in')\n",
    "#plt.ylim(0, 4e4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(7) SIR模型有什么局限性？**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "没有潜伏期、没有死亡、没有地域流动"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 引入隔离后的SIR模型\n",
    "上面的SIR模型预测的结果是在75天左右，感染的人数会达到最多，而且接近400万人。这个骇人的数字害得我睡不着觉。思来想去，觉得中国政府中央集权的优越性必须要在这个时候体现出来。1月23日，武汉宣布封城，后来湖北所有地级市全部封城。简化起见，我们这里不考虑宏观人口流动的影响，把封城和隔离的作用全部归结于减小了接触率$c$。另一方面，戴口罩和勤洗手可以有效减少传染率$\\beta$。\n",
    "\n",
    "在以下假设下考虑疫情的传播。在$t=34$天的时候，武汉封城，接触率$c$开始指数下降 ($c_0$是原来没有封城时候的接触率)：\n",
    "$$ c(t) = (0.9 e^{-(t - 34) / 5} + 0.1)\\ c_0 .$$\n",
    "\n",
    "传染率也因为戴口罩而指数下降 ($\\beta_0$是原来没有封城时候的接触率)：\n",
    "$$ \\beta(t) = (0.9 e^{-(t - 30) / 5} + 0.05)\\ \\beta_0 .$$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def NewSIRmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    这里自变量有两个，所以return的是一个拥有两个元素的array。\n",
    "    \"\"\"\n",
    "    c, gamma, beta, N = params\n",
    "    I, S = point\n",
    "    if t > 34:\n",
    "        c *= 0.9 * np.exp(-(t - 34) / 5) + 0.1\n",
    "        beta *= 0.9 * np.exp(-(t - 30) / 5) + 0.05\n",
    "    if I + S <= N:\n",
    "        return np.array([c * beta * S * I / N - gamma * I, - c * beta * S * I / N]) \n",
    "    else:\n",
    "        return None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(8) 在这样的假设下，解释为什么$\\beta$下降的式子中是t-30而非t-34？并解释 (t-30)/5 这个除以5的5对疫情有什么影响？如果是除以3呢？疫情会更快变好吗？**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "因为大家戴口罩比武汉封城早个三四天。5那个数是政策生效的时标，改成3意味着政策生效越快，疫情自然会越好。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(9) 在以上这些假设下，讨论新型冠状病毒的传播情况。封城和戴口罩双管齐下之后，还会有那么多人感染吗？以及什么时候疫情会变得更好？正月十五之前会变好吗？**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "50 days, 0:00:00\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: FutureWarning: The pandas.datetime class is deprecated and will be removed from pandas in a future version. Import from datetime module instead.\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    }
   ],
   "source": [
    "print(pd.datetime(2020, 2, 8) - pd.datetime(2019, 12, 20))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 30000.0)"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 150, 0.1)\n",
    "N = 1e7 + 10\n",
    "P = odeint(NewSIRmodel, (10, 1e7), t, args=([100, 0.0821, 0.002865, N],))  #\n",
    "plt.plot(t, P[:, 0], label='Infectious')\n",
    "#plt.plot(t, P[:, 1], label='Susceptible')\n",
    "plt.plot(t, (N - P[:, 1] - P[:, 0]), label='Recovered')\n",
    "plt.legend()\n",
    "plt.xlabel('Time (day)')\n",
    "plt.ylabel('Number of People')\n",
    "plt.tick_params(direction='in')\n",
    "plt.ylim(0, 3e4)\n",
    "#plt.vlines(34, 0, 3e4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**(10) 我们讨论了这么多模型，它们有什么共同的缺陷？**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 拓展阅读：SEIR模型 (Susceptible-Exposed-Infectious-Recovered)\n",
    "在这个模型下，有四种人，多了一种人叫做潜伏者，exposed.\n",
    "\n",
    "$$\\frac{dS}{dt} = -\\frac{c \\beta I}{N}S,\\\\ \\frac{dE}{dt} = \\frac{c \\beta I}{N} S - \\sigma E, \\\\ \\frac{dI}{dt} = \\sigma E - \\gamma I,\\\\ \\frac{dR}{dt} = \\gamma I.$$\n",
    "\n",
    "其中：\n",
    "\n",
    "传染率 $\\beta$: 表示感染者接触到易感者之后，易感者得病的概率；\n",
    "\n",
    "接触率 $c$: 表示在每天感染者接触到的易感者人数。感染者每天去菜市场乱走的话，$c$就会很大。如果隔离措施做得好，$c$就很小。\n",
    "\n",
    "治愈率 $\\gamma$: 表示感染者被治愈的概率；\n",
    "\n",
    "潜伏期 $\\sigma$: 是潜伏时长的倒数，这里设置为5天；\n",
    "\n",
    "总人数 $N$: 该封闭地区的总人数，$N = N(t) = I(t) + S(t) + R(t)$.\n",
    "\n",
    "这是一个一阶线性微分方程组。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "def SEIRmodel(point, t, params):\n",
    "    \"\"\"\n",
    "    point：自变量\n",
    "    params：参数\n",
    "    这里自变量有两个，所以return的是一个拥有两个元素的array。\n",
    "    \"\"\"\n",
    "    c, gamma, beta, sigma, N = params\n",
    "    I, S, E = point\n",
    "    \n",
    "    if I + S + E <= N:\n",
    "        return np.array([sigma * E - gamma * I, - c * beta * S * I / N, c * beta * S * I / N - sigma * E]) \n",
    "    else:\n",
    "        return None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里没有让大家戴口罩和封锁湖北省。可以看到，有潜伏期的情况下，爆发时间变为了第130天左右。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0, 10000000.0)"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0, 350, 0.1)\n",
    "N = 1e7 + 10\n",
    "P = odeint(SEIRmodel, (10, 1e7, 0), t, args=([100, 0.0821, 0.002865, 1/5, N],))  #\n",
    "plt.plot(t, P[:, 0], label='Infectious')\n",
    "plt.plot(t, P[:, 2], label='Exposed')\n",
    "plt.plot(t, (N - P[:, 1] - P[:, 0]), label='Recovered')\n",
    "plt.legend()\n",
    "plt.xlabel('Time (day)')\n",
    "plt.ylabel('Number of People')\n",
    "plt.tick_params(direction='in')\n",
    "plt.ylim(0, 1e7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
